Multi-frequency tone detector

ABSTRACT

A multi-frequency tone detector with analysis window (i.e. filter size) chosen such that spectral nulls are located at adjacent frequencies of interest. The decision logic block of the tone detector uses the roll-off characteristics of the filter in conjunction with background noise to determine a threshold pass/fail for any tone that has deviated excessively from its nominal value. The foregoing aspects of the invention result in simple filter design (i.e. reduced order) relative to prior art tone detectors.

FIELD OF THE INVENTION

The present invention relates generally to tone detectors for telephonesystems and in particular to an improved tone detector with filtercharacterized by spectral nulls located to suppress frequencies adjacentthe tone to be detected and an improved detection algorithm usingroll-off characteristics of the filter and background noise.

BACKGROUND OF THE INVENTION

Multi-Frequency (MF) tones are used extensively in telecommunications.Examples of MF tones are DTMF and R2. Typical prior art tone detectorsinclude a pre-filter for suppressing out-of-band frequencies, ananalysis filter for determining the energy of the input signal at eachmulti-frequency tone of interest, and a decision logic block forinterpreting the multi-frequency energy values output from the analysisfilter and in response performing a pass/fail test for determining thepresence or absence of a tone at each multi-frequency tone of interest.

Prior art analysis filters have been implemented using standard digitalfiltering techniques. The analysis window for such prior art digitalfilters must be carefully chosen. Rectangular windows are often used forsimplicity. However, the leakage of energies in the side lobes of therectangular window is such that other MF frequencies may be incorrectlydetected. Also, fast roll-off characteristics (i.e. high order) areusually imposed in order to fail any tone that deviates excessively fromits nominal value.

SUMMARY OF THE INVENTION

According to one aspect of the present invention there is provided amulti-frequency tone detector with analysis window (i.e. filter size)chosen such that spectral nulls are located at adjacent frequencies ofinterest. According to another aspect, the decision logic block uses theroll-off characteristics of the filter in conjunction with backgroundnoise to determine a threshold pass/fail for any tone that has deviatedexcessively from its nominal value. The foregoing aspects of theinvention result in simpler filter design (i.e. reduced order) relativeto prior art tone detectors, while maintaining high tone detectionaccuracy.

BRIEF DESCRIPTION OF THE DRAWINGS

A preferred embodiment of the present invention will now be describedmore fully with reference to the accompanying drawings in which:

FIG. 1 is a block diagram of a well known multi-frequency tone detector;

FIG. 2 shows the frequency response of a tone detector filter withrectangular window;

FIG. 3 shows the frequency response of a filter with rectangular windowcentered at 900 Hz, showing the location of spectral nulls at equallyspaced frequencies adjacent 900 Hz, in accordance with the presentinvention;

FIG. 4 shows filter roll-off for a filter with rectangular window;

FIG. 5 shows the frequency response of a filter with rectangular windowof size N=195, centered at 852 Hz, showing moderate suppression ofadjacent DTMF signal frequencies, in accordance with an alternativeembodiment of the present invention; and

FIG. 6 shows the frequency response of a filter with rectangular windowof size N=276, centered at 852 Hz, showing improved suppression ofadjacent DTMF signal frequencies, in accordance with an alternativeembodiment of the present invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENT

FIG. 1 shows a typical tone detector. Pre-filter 1 filters the inputsignal to suppress out-of-band frequencies. The envelope detector 4determines whether a signal is present or not and synchronizes thesignal edges of the signal with the operation of the analysis filterbank 3. The analysis filter bank consists of multiple filters, one ateach MF frequency of interest. These filters calculate the energy ofeach frequency. The energy calculator 5 computes the total energy of thesignal after pre-filtering. The total energy combined with the resultsof the analysis filter bank 3 is fed to a decision logic block 7 thatdetermines whether a valid tone is present or not. The decision block 7may perform various tests, such as minimum tone level, twist (if it is adual tone), maximum frequency deviation, etc. As discussed in greaterdetail below, according to one aspect of the invention a new method isimplemented in decision logic block 7 to determine frequency deviationfrom a nominal value by using the roll-off in the filter bank 3 combinedwith background energy.

The analysis filters 3 are implemented as DFT filters using a modifiedGoertzel algorithm, one for each MF (e.g. R2) frequency. The Goertzelfilter is centered at the R2 frequency.

According to the preferred embodiment a rectangular window was chosenfor the DFT (Goertzel) filter. The choice of a rectangular windowresults in reduced complexity relative to other filter types. Forexample, pre-processing the data with either a raised cosine or Kaiserwindow has a considerable MIPS impact. As indicated above, however, theleakage of the energies in the side lobes can be significant inrectangular windows (especially if two valid frequencies to be detectedhave a relative twist). Thus, according to an aspect of the invention,the filter size is chosen in such a way that the other MF frequenciesfall in its spectral nulls, thereby greatly reducing the leakage effect.

R2 is a special case of MF communication. The six R2 signalingfrequencies are situated at 540 Hz, 660 Hz, 780 Hz, 900 Hz, 1020 Hz and1140 Hz for the backward direction and at 1380 Hz, 1500 Hz, 1620 Hz,1740 Hz, 1860 Hz and 1980 Hz for the forward direction. Thus, in eachdirection the frequencies are 120 Hz apart. A window of size N has nullssituated at frequency intervals Fs/N, as shown in FIG. 2. Consequently,for R2 signaling spectral nulls are needed at 120 Hz intervals.

In order to position the nulls at 120 Hz intervals, and assuming asampling frequency Fs=8 kHz, a window size of 200 samples is chosen forthe filter (the minimum window size for nulls at 120 Hz is N=Fs/120 Hz,which is 66.67, such that the smallest integer window is thus N=200).

For example: If the frequency of interest is at 900 Hz, the filter iscentered at 900 Hz using a window of 200 samples. Spectral nulls aretherefore located at each of the other MF frequencies, i.e. 540 Hz, 660Hz, 780 Hz, 1020 Hz and 1140 Hz. FIG. 3 shows the R2 example for afrequency of 900 Hz. It will be noted that the other R2 frequencies fallexactly on the spectral nulls.

For non-equally spaced frequencies (such as DTMF), the approach is notas straight forward as for the equally spaced frequency case.Nonetheless, the windows for each frequency detector (i.e. filter) maybe sized in such a way that the closest frequency falls into a null. Onthe other hand, the window may be chosen such that the interference ofthe other frequencies is minimized.

For example, if the frequency of interest is the DTMF frequency at 852Hz., the nearest adjacent frequency is 770 Hz (i.e. separated by 82 Hz).Choosing a window size of N=195 places nulls at intervals of 41 Hz, asshown in FIG. 5. The other DTMF frequencies (697 Hz, 941 Hz) do not fallon the spectral nulls, but are only suppressed by 24.8 dB and 23 dBrespectively. However, if the window size is chosen to be N=276 as shownin FIG. 6, none of the DTMF frequencies fall on spectral nulls.Nonetheless, the frequencies are suppressed by 25.3 dB, 24.8 dB and 32.6dB respectively, thereby improving the overall suppression.

The filters comprising analysis bank 3 may be implemented in many ways.As indicated above, a Goertzel DFT filter was implemented according tothe preferred embodiment. Implementations of Goertzel filters are wellknown in the art (e.g. Burrus, C. S. and T. W. Parks. 1985. DFT/FFT andConvolution Algorithms. New York: Prentice-Hall.). An example of aGoertzel filter for use in the multi-frequency tone detector of thepresent invention, centered at 900 Hz, is as follows:   Fs = 8000;%Sampling Frequency   Fc = 900; % Centre frequency   coeff =(2*cos(2*pi*(Fc/Fs))); % Goertzel coefficient   N = 200; % To createnulls at 40Hz intervals BEGIN     % Feedback phase     for k=1:N      temp = input(k) + coeff*y(1) − y(2);       y(2) = y(1);       y(1)= temp;     end     % Feedforward phase (Calculates energy in Window)    Y11 = y(1);     Y12 = y(2);     energy = (Y11*Y11 + Y12*Y12 −Y11*Y12*coeff)/N/N;     return energy END

The return value “energy” is the tone energy at a specific frequency,which is fed into the decision logic 7.

The frequency deviation algorithm implemented within block 7 uses theroll-off of the filter 3 combined with an estimate of the backgroundenergy. FIG. 4 shows the roll-off characteristics of a rectangularwindow (for a size of 200 samples and a sampling rate of F_(s)=8 kHz).Thus, for a single tone frequency deviation of 15 Hz from nominal, theroll-off is about −2 dB. In other words, if a tone deviates 15 Hz fromits nominal frequency, its energy in the bin would be 2 dB down from itsactual energy. This energy is not “lost”, but has leaked outside thebin, contributing to the background energy. Consequently, by calculatingthe background energy the frequency deviation of the tone may bedetermined.

Total Energy is the energy of the output of the pre-filter 1. It is madeup of the single frequency energy (E) and background noise (n).Total Energy=E+n

The frequency energy is made up of the energy within the analysis filter(E_bin) and the leakage energy due to roll-off (E_ro). Thus, for asingle tone:E=E_bin+E _(—) ro

If the frequency deviation is zero, thenE=E_bin and E _(—) ro is zero

Thus the Total Energy is made up of: $\begin{matrix}{{{Total}\quad{Energy}} = {{E\_ bin} + {E\_ ro} + n}} \\{= {{E\_ bin} + {E\_ back}}}\end{matrix}$where E_back is the background energy relative to the output of analysisfilter 3. Thus, the background energy is calculated by subtracting theenergy within the analysis filter from the total energy. TheSignal-to-Noise Ratio (SNR) of the analysis filter energy relative tothe background energy can be represented as: $\begin{matrix}{{SNR\_ ro} = {{E\_ bin}/{E\_ back}}} \\{= {{E\_ bin}/( {{E\_ ro} + n} )}}\end{matrix}$

Thus, there is a direct relationship between SNR_ro and E_ro, theleakage energy due to the roll-off, and consequently the frequencydeviation.

For a rectangular window:Roll-off=(sin(x)/x)² withx=π*f*size/Fs

For tolerable frequency deviations up to f=13 Hz, size=200 and Fs=8 kHzx=1.021 and the roll-off is 0.6974. Assuming that the noise (n) isnegligible relative to the leaked tone energy E_ro, then:E_back = E_ro = (1 − Roll-off) * E And E_bin = Roll-off * E$\begin{matrix}{{SNR\_ ro} = {{Roll}\text{-}{{off}/( {1 - {{Roll}\text{-}{off}}} )}}} \\{= {0.6974/( {1 - 0.6974} )}} \\{= 2.3}\end{matrix}$

SNR_ro provides an upper threshold limit for tolerable frequencydeviation. If the ratio between E_bin and E_back is less than SNR_ro,frequency deviations of more than 13 Hz are accepted. If the thresholdis set above SNR_ro, then frequency deviations of up to 13 Hz will notbe tolerated.

The dual tone case is very similar to the single tone case set forthabove. However, in the case of dual tones the Total Energy is made up ofboth energies. $\begin{matrix}{{{Total}\quad{Energy}} = {{E1\_ bin} + {E1\_ ro} + {E2\_ bin} + {E2\_ ro} + n}} \\{= {{E1\_ bin} + {E2\_ bin} + {E\_ back}}}\end{matrix}$ And E_back = E1_ro + E2_ro + nSNR1_ro = E1_bin/(E1_ro + E2_ro + n)

Assuming no twist between the tones (E1=E2) and negligible noise, thenfor a frequency deviation of 13 Hz for both tones $\begin{matrix}{{SNR1\_ ro} = {{E1\_ bin}/{E\_ back}}} \\{= {{Roll}\text{-}{{off}/( {( {1 - {{Roll}\text{-}{off}}} ) + ( {1 - {{Roll}\text{-}{off}}} )} )}}} \\{= 1.15}\end{matrix}$

The situation is a bit more complicated if the tones have relativetwist. AssumeE2 = twist * E1  and  twist = 6.3096( = 8  dB)  with  f = 13  Hz Then$\begin{matrix}{{SNR1\_ ro} = {{E1\_ bin}/{E\_ back}}} \\{= {{Roll}\text{-}{{off}/( {( {1 - {{Roll}\text{-}{off}}} ) + {{twist}*( {1 - {{Roll}\text{-}{off}}} )}} )}}} \\{= {{Roll}\text{-}{{off}/( {( {1 + {twist}} )*( {1 - {{Roll}\text{-}{off}}} )} )}}} \\{= 0.315} \\{= {{- 5}\quad{dB}}}\end{matrix}$

In this case, SNR_ro provides the upper threshold limit which, it willbe noted, is considerably relaxed relative to the threshold withouttwist, in order tolerate a frequency deviation of at least 13 Hz whendual tones and twist are present.

The following is a pseudo code implementation for a typical dual tonedetector using roll-off:   BEGIN     Calculate Total Energy    Calculate bin energies at each nominal frequency     Select twohighest frequency bins, ie. E1_bin and E2_bin     Calculate E_back =Total_Energy − E1_bin − E2_bin     If E1_bin < SNR1_ro * E_back      Status = failed     Elseif E2_bin < SNR2_ro * E_back       Status= failed     End END

Although a preferred embodiment of the present invention has beendescribed, those skilled in the art will appreciate that variations andmodifications may be made. For example, the embodiment set forth aboveis implemented via Goertzel DFT filters, whereas the filters 3 can alsobe implemented as FIR filters or IIR filters. This and all other suchalternatives and variations are believed to be within the sphere andscope of the invention as defined by the claims appended hereto.

1-8. (canceled)
 9. A multi-frequency tone detector comprising: ananalysis filter for detecting a plurality of tone frequencies; and adecision logic block for detecting a presence or absence of each of saidplurality of tone frequencies based on an output of the analysis filter;wherein for each particular tone frequency of said plurality of tonefrequencies, said analysis filter has a window having a size such thatthe nearest adjacent tone frequency to said each particular tonefrequency is located at a spectral null of said analysis filter.
 10. Themulti-frequency tone detector of claim 10, wherein said window is arectangular window.
 11. The multi-frequency tone detector of claim 10,wherein said analysis filter is a digital filter.
 12. Themulti-frequency tone detector of claim 11, wherein said analysis filteris a digital filter.
 13. A multi-frequency tone detector comprising: ananalysis filter for detecting a plurality of tone frequencies; and adecision logic block for detecting a presence or absence of each of saidplurality of tone frequencies based on an output of the analysis filter;wherein for each particular tone frequency of said plurality of tonefrequencies, the analysis filter has a window having a size such thateach of the other tone frequencies is located at a spectral null of theanalysis filter.
 14. The multi-frequency tone detector of claim 13,wherein said window is a rectangular window.
 15. The multi-frequencytone detector of claim 13, wherein said analysis filter is a digitalfilter.
 16. The multi-frequency tone detector of claim 14, wherein saidanalysis filter is a digital filter.